package top.zuli.package03.exam01;

//1.定义接口
interface GradeInter{
    public abstract String getStr();
}
//2.枚举是特殊的类可以实现接口
enum Grade implements GradeInter{
    //4.定义静态常亮枚举实例
    A("85-100"){
        //6.如果每个实例实现接口的抽象方法的行为不同，可以在每个实例中重写抽象方法
        @Override
        public String getStr() {
            return "优秀";
        }
    },B("75-84"){
        @Override
        public String getStr() {
            return "良好";
        }
    },C("60-74"){
        @Override
        public String getStr() {
            return "及格";
        }
    };
    private String score;
    //3.私有构造器 并注入属性值
    private Grade(String score){
        this.score = score;
    }
    //4.定义属性的setter和getter方法
    public String getScore() {
        return score;
    }
    public void setScore(String score) {
        this.score = score;
    }
    //5.如果枚举A、B、C 的getStr()这个方法行为一致可以在外边重写。
    @Override
    public String getStr() {
        return "一致的描述，考试合格";
    }
}
